package tsg.lz.com;

public class Test4 {
    public static void main(String[] args) {
        /*定义一个长度为3的数组，数组存储1~3名学生对象作为初始数据，学生对象的学号，姓名各不相同。
        学生的属性：学号，姓名，年龄。

        要求5：查询数组id为“2”的学生，如果存在，则将他的年龄+1岁*/


        //1.创建一个数组用来存储学生对象
        Book[] arr = new Book[3];
        //2.创建学生对象并添加到数组当中
        Book book1 = new Book(10001, "世界简史", 50);
        Book book2 = new Book(10002, "明朝那些事", 70);
        Book book3 = new Book(10003, "他改变了中国", 80);

        //3.把学生对象添加到数组当中
        arr[0] = book1;
        arr[1] = book2;
        arr[2] = book3;


        //4.先要找到id为2的学生对于的索引
        int index = getIndex(arr, 10002);

        //5.判断索引
        if(index >= 0){
            //存在， 则将他的价格+1岁
            Book book = arr[index];
            //把原来的价格拿出来
            int newAge = book.getAge() + 1;
            //把+1之后的价格塞回去
            book.setAge(newAge);
            //遍历数组
            printArr(arr);
        }else{
            //不存在，则直接提示
            System.out.println("当前id不存在，修改失败");
        }


    }

    //1.我要干嘛？  找到id在数组中的索引
    //2.我需要什么？ 数组 id
    //3.调用处是否需要继续使用方法的结果？ 要
    public static int getIndex(Book[] arr , int id){
        for (int i = 0; i < arr.length; i++) {
            //依次得到每一个图书对象
            Book book = arr[i];
            //对book进行一个非空判断
            if(book != null){
                int sid = book.getId();
                if(sid == id){
                    return i;
                }
            }
        }

        //当循环结束之后，还没有找到就表示不存在
        return -1;
    }

    public static void printArr(Book[] arr){
        for (int i = 0; i < arr.length; i++) {
            Book book = arr[i];
            if(book != null){
                System.out.println(book.getId() + ", " + book.getName() + ", " + book.getAge());
            }
        }
    }


}
